package secondStage.part2.异常;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 异常处理之：throws
 * 虽然我们通过try..catch...可以对异常进行处理，但是并不是所有的情况我们都有权限进行异常的处理
 * 也就是说，有些时候可能出现的异常是我们处理不了的，这个时候该怎么办呢?
 * 针对这种情况。Java 提供了throws的处理方案
 * <p>
 * ●编译时异常必须要进行处理，两种处理方案: try..catch ..或者throws,如果采用throws这种方案，将来谁调用谁处理
 * ●运行时异常可以不处理，出现问题后，需要我们回来修改代码
 *
 * @author Administrator
 */
public class ExceptionDemo4 {
    public static void main(String[] args) {
        System.out.println("开始");
//		method();
        try {
            method1();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        System.out.println("结束");
    }

    //编译时异常
    private static void method1() throws ParseException {
        String string = "2021-04-02";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(string);
        System.out.println(date);
    }

    //运行时异常
    public static void method() throws ArrayIndexOutOfBoundsException {
        int[] arr = {1, 2, 3};
        System.out.println(arr[3]);
    }
}